Method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, device for encoding, signal comprising a stream of databits of a constrained binary channel signal, record carrier, method for decoding, device for decoding

ABSTRACT

The invention relates to a method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, this signal being constructed by repetitively or alternate using a channel code C 1  and a channel code C 2 . Due to the fact that two channel words with opposite parities are available in the channel code C 2  for each information word, and that the same state is established, predetermined properties of the constrained binary channel signal can be influenced, e.g. for performing guaranteed DC-control, i.e. independent of the contents of the stream of databits of the binary information signal. Due to the fact that the method further comprises the step of substituting, in dependence upon a value of a predetermined property of the binary channel signal, a channel word for a substitute channel word, wherein the substituted channel word and the substitute channel word establish the same state, predetermined properties of the constrained binary channel signal can be further influenced.  
     The invention further relates to a device for encoding, a signal, a record carrier, a method for decoding and a device for decoding.

[0001] The invention relates to a method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, wherein the stream of databits of the binary information signal is divided into n-bit information words, said information words being converted into m₁-bit channel words in accordance with a channel code C₁, or m₂-bit channel words in accordance with a channel code C₂, where m₁, m₂ and n are integers for which it holds that m₂>m₁≧n, wherein the m₂-bit channel word is chosen from at least two m₂-bit channel words at least two of which have opposite parities, the concatenated m₁-bit channel words and the m₂-bit channel words complying with a runlength constraint of the binary channel signal, the method comprising the repetitive and/or alternate steps of:

[0002] selecting the m₁-bit channel word from a set out of a plurality of sets of m₁-bit channel words, each set comprising only m₁-bit channel words having a beginning part out of a subset of beginning parts of the m₁-bit channel words, each set being associated with a coding state of channel code C₁, the coding state being established in dependence upon an end part of the preceding channel word, or:

[0003] selecting the m₂-bit channel word from a set out of a plurality of sets of m₂-bit channel words, each set comprising only m₂-bit channel words having a beginning part out of a subset of beginning parts of the m₂-bit channel words belonging to said set, each set being associated with a coding state of channel code C₂, the coding state being established in dependence upon an end part of the preceding channel word, the end parts of the m₁-bit channel words in a coding state of channel code C₁ and the beginning parts of the m₂-bit channel words in a set of channel code C₂ being arranged to comply with said runlength constraint.

[0004] The invention also relates to a device for encoding, a signal comprising a stream of databits of a constrained binary channel signal, a record carrier, a method for decoding and a device for decoding.

[0005] The non-prepublished, co-pending European Patent Application no. 00200712.8 (PH-NL000074) describes a constrained binary channel signal which is constructed by repetitively or alternate using a channel code C₁ and a channel code C₂. Due to the fact that two channel words with opposite parities are available in the channel code C₂ for each information word, predetermined properties of the constrained binary channel signal can be influenced, e.g. for performing guaranteed DC-control. No additional DC-control on top of this guaranteed DC-control is performed. It may be advantageous to be able to create this additional DC-control.

[0006] The invention has for an object to further influence predetermined properties of the above-mentioned constrained binary channel signal, e.g. for performing additional DC-control.

[0007] The method according to the invention comprises the step of substituting, in dependence upon a value of a predetermined property of the binary channel signal, a channel word for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish the same state.

[0008] This process of substituting channel words can only be performed for a limited number of entries in the code table. By substituting a limited number of channel words for substitute channel words, stochastic DC-control can be accomplished, for instance, if the substitutions cause a parity inversion. Stochastic control is understood to be the kind of control in which the actual use of this control via substitution depends on the actual data content (information words) that enters the encoder. The choice whether to perform a substitution can be carried out on the basis of the value of a predetermined property of the binary channel signal, e.g. based on an RDS-related criterion or a DSV-related criterion. RDS stands for “Running Digital Sum”. By controlling this RDS, the suppression of low-frequency components or DC-control can be accomplished. DSV stands for “Digital Sum Variation”, indicating the total number of sum values a binary channel signal assumes. The choice whether to perform a substitution can be made in dependence upon the value of any predetermined property of the binary channel signal one wants to influence (e.g. the generation of pilot tracking tones, refer to U.S. Pat. No. 5,136,436 (PHN 12533)).

[0009] The invention is based on the recognition that, in the design of the channel code based on the combination of two codes C₁ and C₂ (refer to the non-prepublished, co-pending European Patent Application no. 00200712.8 (PH-NL000074)), there is some extra room for the introduction of stochastic control on top of the guaranteed control. This extra room is exploited in that a limited number of channel words is substituted for other substitute words in order to be able to influence predetermined properties of the binary channel signal. Substitution of channel words also relates to the substitution of a part of a channel word. In order to guarantee, for instance, a DC-control of a predetermined performance level in the channel code based on the combination of the two codes C₁ and C₂, the substitutions, i.e. the combination of substituted channel word and substitute channel word, must have the property that both the substituted channel word and the substitute channel word establish the same state.

[0010] In another method according to the invention, the step of substituting a channel word for a substitute channel word comprises different types of substitutions.

[0011] The available room in the design of the above-mentioned channel code can be used to introduce different types of substitutions. In this way, substitutions are created, for more information words thereby increasing the stochastical control on the binary channel signal.

[0012] In another method according to the invention, maximally one type of substitution occurs for each information word.

[0013] It is advantageous to introduce maximally one type of substitution for each information word. In this way, the available substitutions are better “spread” over the information words, thereby increasing the stochastic control on the binary channel signal.

[0014] In another method according to the invention, the substitute channel word does not belong to the sets of channel words of channel codes C₁ or C₂.

[0015] This first substitution type is based on the fact that, in this channel code, some specific channel words do not occur in the channel bitstream under normal application of the channel code; these channel words can be used as substitute channel words. By substituting a limited number of channel words for substitute channel words not belonging to the channel words present in the binary channel signal before the substitutions, additional, stochastic DC-control can be accomplished.

[0016] In another method according to the invention, the substitute channel word is omitted from the sets of channel words of channel codes C₁ or C₂ in view of a constraint on the number of successive xT runlengths in the binary channel signal. In an embodiment, x=3. In another embodiment, the number of successive xT runlengths is 6.

[0017] This second substitution type is based on the fact that some channel words, which are initially omitted in view of an RMTR constraint, can be used as substitutions on the condition that concatenation with the previous channel word does not lead to a violation of this RMTR constraint. RMTR stands for “Repeated Minimum Transition Runlength”. An RMTR=6 constraint e.g. implies that the number of successive 3T runlengths in the sequence of channel words is limited to 6. More information about this constraint can be found in published patent application W099/63671-A1 (PHQ 98.023).

[0018] In another method according to the invention, the substitute channel word is chosen from one set of a plurality of sets of channel words, the set being associated with a coding state different from the coding state the substituted channel word was in.

[0019] This third substitution type is due to the fact that, due to the structure of the channel code, it is possible to “swap” between coding states conditionally, which means that the “swap” can only be done for some channel words. “Swap” is understood to mean that the substitute channel word used in the binary channel signal is chosen from a coding state different from the coding state the substituted channel word is in. If the parity of the substituted channel word is different from the parity of the substitute channel word, room for extra influence of predetermined properties of the binary channel signal is created.

[0020] These and other aspects of the invention will be further described in the Figure description, in which,

[0021]FIG. 1 shows an example of the coding method according to the co-pending European Patent Application, Application no. 00200712.8 (PH-NL000074),

[0022]FIG. 2 shows an example of the state characterisation of a 6-state Finite-State-Machine to be used for the main code (channel code C₁), aimed for the channel constraints d=2, k=10,

[0023]FIG. 3 shows an example of the state characterisation of a 6-state Finite-State-Machine to be used for the dual code (channel code C₂), aimed for the channel constraints d=2, k=10,

[0024]FIG. 4 shows the code table of the main code C₁,

[0025]FIG. 5 shows an example of how decoding of the next-state function of the channel words of the main code is performed,

[0026]FIG. 6 shows a RDS-tree to be used for performing DC-control,

[0027]FIG. 7 shows a device for encoding,

[0028]FIG. 8 shows a record carrier on which a signal comprising a stream of databits of a constrained binary channel signal, obtained after carrying out a method according to the invention is recorded in a track,

[0029]FIG. 9 shows an enlarged portion of the record carrier of FIG. 8,

[0030]FIG. 10 shows a device for decoding,

[0031]FIG. 11 shows a recording device for recording information,

[0032]FIG. 12 shows a reading device for reading out a record carrier.

[0033]FIG. 1 shows graphically an example of the coding method. Using this method predetermined properties of the binary channel signal can be influenced, for example for guaranteed DC-control via the alternation of two codes C₁ and C₂ via an alternation pattern that is also known at the decoder.

[0034] We consider two channel codes, C₁ and C₂. Both codes are applied on n-bit symbols. Channel code C₁ is a high-rate code with n-to-m₁ mapping; channel code C₂ is a low-rate code with n-to-m₂ mapping. In this example, for d=2, k=10, C₁ has a 8-to-15 mapping, and C₂ has a 8-to-17 mapping (n=8, m₁=15, m₂=17). Guaranteed DC-control, i.e. DC-control for every possible sequence of information words, is achieved if the following conditions are satisfied: for each n-bit symbol, channel code C₂ has two channel words, one with even and one with odd parity in order to influence the RDS-value of the binary channel signal; for each n-bit symbol, the two possible channel representations of code C₂ have the same next-state. The Finite-State-Machines (FSMs) of codes C₁ and C₂, indicating the states and state characterisations of the channel codes C₁ and C₂, have the same number of states, and the FSMs are based on the same approximate eigenvector (according to Franazek's definition, see §5.3.1. of the book “Codes for mass data storage systems”, K. A. Schouhamer Immink, November 1999, Shannon Foundation Publishers (ISBN-90-74249-23-X), which implies that channel words ending with a given number of zeroes have a certain multiplicity, irrespective of the fact whether they are part of a channel word from the main code C₁ or from the dual code C₂. The approximate eigenvector in this case of d=2, k=10 which satisfies an approximate eigenvector inequality is the following: V_((d=2,k=10))={2,3,4,4,4,4,3,3,3,2,1}.

[0035] However, the characterisation of the states of FSM₁for C₁ and FSM₂ for C₂ may be different. These state characterisations are chosen in order to realise the constraints imposed on the binary channel signal. These constraints can be, for example, runlength-limiting constraints (d,k) or an RMTR constraint. In this way, the constraints imposed on the binary channel signal, formed by concatenating the m₁-bit channel words and the m₂-bit channel words, are satisfied. We can call channel code C₁ the main code, whereas channel code C₂ is referred to as the dual code. The upper part of FIG. 1 depicts an n-bit information word 1 which converted into an m₁-bit channel word 2 via a channel C₁ or into an m₂-bit channel word 3 via a channel code C₂.

[0036] The two available m₂-bit channel words are indicated in FIG. 1 by the corresponding parities, “0” and “1”. The arrows in the lower part of this Figure depict the “flow” through the coding states of the Finite-State-Machines FSM₁ and FSM₂ when converting the information words. It can be seen that when converting an information word into an m₁-bit channel word, only one arrow points from the coding state of the channel word to the coding state of the next channel word, whereas when converting an information word into an m₂-bit channel word, two arrows point from the coding state of the channel word to the coding state of the next channel word, indicating the choice between the two available m₂-bit channel words.

[0037] The lower part of FIG. 1 depicts that for each information word (256 entries as the information words are 8 bits long, n=8) two m₂-bit channel words are available with opposite parities and with the same next-state. When converting an n-bit information word into an m₂-bit channel word, this m₂-bit channel word can be chosen from the two available m₂-bit channel words. In this example, this choice in used to create a DC-balanced or DC-free channel code.

[0038]FIG. 2 shows an example of the state characterisation for a 6-state Finite-State-Machine to be used for the main code (channel code C₁). In this example the channel constraints to be complied with are d=2 and k=10 and the channel code C₁ has a 8-15 mapping. FIG. 3 shows an example of the state characterisation of a 6-state Finite-State-Machine to be used for the dual code (channel code C₂). In this example the channel constraints to be complied with are d=2 and k=10 and the channel code C₂ has a 8-17 mapping.

[0039] In these Figures, a notation of “−10²|”, as can be found in the column words IN in state 1 of the main code, indicates all channel words with an ending “100”. In the same way “|010¹⁰1−”, as can be found in the column words OUT of state 2 of the main code, indicates all channel words with a beginning “0100000000001”.

[0040] The Finite-State-Machines (FSMs) of codes C₁ and C₂ have the same number of states, and the FSMs are based on the same approximate eigenvector, which implies that channel words ending with a given number of zeroes have a certain multiplicity, irrespective of the fact whether they are part of a channel word from the main code C₁ or from the dual code C₂. In the FSM of the dual code C₂, each branch leaving a state corresponds to two possible channel words (word-pair) with i) opposite parity and ii) the same next-state. The FIGS. 2 and 3 show that the multiplicity of any channel word in the 6-state FSMs ranges between 1 and 4.

[0041] A lot of channel words or word-pairs are used more than once across different states. By appropriate mating, i.e. grouping of the same combination of channel words or word-pairs together with next-states to one single table entry for more than one state, error propagation can be reduced because a precise distinction of the states leading to the given channel word, has become irrelevant for these channel words or word pairs. In fact, the codes C₁ and C₂ allow full state-independent decoding.

[0042] The skilled person is familiar with channel codes comprising different states, the states forming a Finite-State-Machine. Detailed information on state-coding can be found in literature, for example in European Patent Specification EP 0 745 254 B1 (PHN 14.746) or in the book “Codes for mass data storage systems”, K. A. Schouhamer Immink, November 1999, Shannon Foundation Publishers (ISBN-90-74249-23-X).

[0043] In §5.3 of this book it is explained that, in order to be able to construct a sequence of channel words complying with the constraints imposed on a channel code, at least M words that terminate at the same or other principal states must emanate from each coding state. The existence of a set of coding states is therefore a necessary condition for the existence of a code for the specified number of information words (256 in case of an 8-bit information word). It can be shown that if an approximate eigenvector satisfies an approximate eigenvector inequality, then a fixed-length code with the predetermined constraints and other parameters of the code can be ascertained. More details can be found in §5.3.1 of this book and in the literature references therein.

[0044] The coding method in the above example has the following parameters: d=2, k=10, N=8, m₁=15, m₂=17; a skilled person can, without using inventive measures, apply the teaching of this method to generate binary channel signal with, for example, d=2, n=7 or d=2 or n=13. He can, for example, also generate a binary channel signal with a d=1 constraint. FIG. 4 shows the code table of the main code (channel code C₁), d=2, k=10, RMTR=6, with the entry index representing the index of the 8-bit information symbol (0-255). The six columns represent the six states of the main code. For each entry, one 15-bit long channel word is listed together with the corresponding next-state. In this code table the different types of substitution are incorporated. These different types are elucidated below.

[0045] In the example coding table of FIG. 4 the code table has three rows for each information word (indicated with numbers 0-255). The first row contains the standard channel words, which are used if no substitutions can be performed. The second row contains the surplus channel words that are possible without any condition. These channel words can be used as substitute channel words for performing the substitution of the first type. The third row contains channel words that are valid substitutions only if the RMTR=6 constraint is not violated upon concatenation with the previous channel word. These channel words can be used as substitute channel words for performing the substitution of the second type.

[0046] The code construction of the channel code (indicated with EFMCC, for EFM-Combi Code) allows for additional influencing predetermined properties of the binary channel signal, e.g. for DC-control of stochastic nature, on top of the guaranteed DC-control. As an example, only stochastic DC-control (SDCC) for the main code C₁ of EFMCC is considered, but the invention is not limited to this example. We distinguish three types of SDCC:

[0047] The first type is related to the surplus words of the main code C₁, the number of which is for states 1 up to 6: {15,3,5,6,0,5}, i.e., a total of 34 surplus words. These words can be used unconditionally. These surplus words can be found in the second row of the code table in FIG. 4. For example for state 6, the 5 surplus words can be found at the information words 224, 248, 249, 250 and 251.

[0048] The second type of SDCC is related to channel words that have been omitted in view of the RMTR=6 constraint. Some of these channel words can be used conditionally as substitutions, i.e., on condition that concatenation with the previous word does not lead to a violation of the RMTR constraint. In this example, the channel words that would require a check on the RMTR constraint upon concatenation with the next channel word are omitted. The number of surplus words of the second type are for the different states: {9,0,0,0,4,6}, i.e., a total of 19 surplus words. These surplus words can be found in the third row of the code table in FIG. 4. For example for state 1, the 9 surplus words can be found at the information words 205, 206, 216, 217, 218, 219, 220, 221 and 222.

[0049] The third type of SDCC is related to two “state-swaps” that are based on the structure of the FSM of EFMCC. A first state-swap is possible from state 4 towards state 5 for those situations where the previous channel word has n trailing zeroes, 2≧n≧4, and where the present channel word has a characteristic bit-pattern at the beginning of the word: −10^(n)|0³10^(m)1− may be converted into −10^(n)|0^(m+4)1− for 2≦m≦6−n. Note that the border of a channel word is denoted by |. For state-independent decoding, the corresponding channel words for states 4 and 5 have to refer to the same byte-value and the code table has been arranged accordingly. The conditional state-swap from state 4 to state 5 is possible for 85 entries in the coding table of the main code C₁. A second state-swap is possible from state 1 towards state 4 for those situations where the previous channel word has n trailing zeroes, 6≦n≦7, and where the present channel word has a characteristic bit-pattern at the beginning of the word: −10^(n)|10^(m)1− may be converted into −10^(n)|0^(m+1)1− for 2≦m≦9−n. The corresponding channel words for states 1 and 4 have to refer to the same byte-value. The conditional state-swap from state 1 to state 4 is possible for 192 entries in the coding table of the main code C₁. Examples of the first state-swap (from state 4 towards state 5) can be found in the coding table at the information words 0, 1, 2, 3 and 4. Examples of the second state-swap (from state 1 towards state 4) can be found in the coding table at the information words 4, 5 and 6.

[0050] It must be noted that for all substitute channel words in this example, the following conditions are fulfilled: —a substitute channel word has a parity opposite to that of the substituted channel word; —both the substituted word and the substitute word have the same next-state in the FSM. Due to the fact that these conditions are fulfilled, the bytes that are to be encoded with the main code C₁, and that allow for a substitution of stochastic type (SDCC), can play exactly the same role as the bytes that are to be encoded with the substitution code C₂.

[0051] It must also be noted that not only the “character” of the channel word is deciding for which substitution may be suited, also the coding state the channel word is in is of influence. This can for example be seen at the information words 54 and 252. At these information words, in state 3 and state 6 the same channel word is present, namely 010010010010000 respectively 010010010010001. Due to the structure of the FSM for state 3, these channel words make possible a substitution of the first type, i.e. they can be used unconditionally, while these same channel words in state 6, make possible a substitution of the second type, i.e. they can not be used unconditionally in view of the RMTR-constraint and the fact that words entering state 6 have 1 trailing zero.

[0052] In FIG. 5 is shown an example of how decoding of the next-state function of the channel words of the main code is performed. When decoding a channel word, either from the main code C₁ or from the dual code C₂, into an 8-bit information word, no knowledge of the current state is needed. Therefore, this decoding is called state-independent decoding. On the other hand, knowledge of the next-state is needed is order to be able to uniquely decode the channel words in the case of multiple occurrence of the given channel word. In fact, a code word is uniquely represented not only by the given channel word, but by the combination of channel word and next-state. Therefore state-independent decoding is guaranteed if any combination of channel word and next-state only occurs within the three rows for one single entry. For different states and the same entry, the same combination of channel word and next-state may occur across different rows.

[0053] In FIG. 4 it can be seen that the coding table contains channel words which are used more than once, but these channel words are used at the same information word in order to guarantee state-independent decoding. Examples of this kind can be found in the coding table at the information words 54, 82 and 87.

[0054] In FIG. 5 it can be seen that for determination of the next-state a decoding window with a decoder look-ahead of at maximum 12 bits into the next channel word must be performed, in case that the next channel words is encoded with the main code C₁. The entry in the table of FIG. 5 where this maximum decoder look-ahead is necessary is indicated with an arrow. This decoder look-ahead must not be confused with the look-ahead encoding for improved DC-control. The asterisks in FIG. 5 indicate that all possible bit-combinations are allowed, as long as the imposed constraints are met.

[0055] When decoding the channel words into the information words, a so-called hashing-technique can be used, as will be explained below. Using this technique results in a reduced hardware complexity, i.e. a smaller number of gates, necessary to implement the decoder algorithm. We will describe one particular implementation in more detail. Decoding the channel words of the main code, using the hashing technique is performed as follows. Via enumerative decoding for d=2 the 15-bit channel word is converted into a 9-bit word by 15-to-9 mapping. Enumerative decoding is decoding in which the channel words to be decoded are computed by an algorithmic procedure based on the d=2 constraint instead of storing all the channel words in a table (for more information about enumerative coding refer to chapter 6 of the book “Codes for mass data storage systems”, K. A. Schouhamer Immink, November 1999, Shannon Foundation Publishers, ISBN-90-74249-23-X). The number of the next-state is decoded via 2-bit coding in 2 bits because the maximum multiplicity of channel words equals 4. The 9-bit word and the 2-bit state word results in an 11-bit index. This 11-bit index is converted into the 8-bit information word with a hashing table for the main code, this hashing table comprising a table with at maximum 2048 entries (=2¹¹) (state-independent decoding).

[0056] In FIG. 6 a RDS-tree to be used for performing DC-control is shown. RDS stands for the Running Digital Sum, which is a measure of the DC-content of the binary channel signal. As said before, for each m₂-bit channel word to be encoded, guaranteed DC-control can be performed. In order to realise the most effective DC-control, it is advisable to “look-ahead” in order to determine which choice of m₂-bit channel word, out of the two available m₂-bit channel words, results in the best RDS-value. As can be seen in FIG. 6, in order to be able to look-ahead N decisions, 2^(N) possible paths of the RDS-tree must be calculated. For N=2, 4 possible paths must be calculated.

[0057]FIG. 6 shows the decision tree with depth N, as it applies in general, i.e. both to the encoding along the distinct paths and to the evaluation criterion.

[0058] Considering the look-ahead decision tree, we can distinguish guaranteed nodes (use of C₂) and stochastic nodes (use of C₁ with stochastic DC-control according to one of the substitution types as explained with reference to FIG. 4). In this embodiment the look-ahead tree is based only on the guaranteed nodes. For the stochastic nodes, an immediate decision (for which word to choose, the substitute one or the substituted one) is made on the basis of the best path in the RDS-tree. In this way, the length of the look-ahead encoding paths in the RDS-tree is always fixed, which is advantageous for a real-time encoder. Three successive stages of the look-ahead decision tree are shown in FIG. 6. The first stage has a tree without any stochastic node. In the subsequent stage, the tree encounters a new DC-control segment with one byte that yields a stochastic node. That byte is marked with an “X”. Note that it can be allowed that different choices are made for byte “X” dependent on the branches “0” and “1” related to the choice at the dual code C₂. The use of the additional stochastic DC-control does not influence the property of state-independent decoding of the channel code with channel code C₁ and C₂, and error propagation remains at most one byte.

[0059]FIG. 7 shows a device for encoding according to the invention. In this encoding device 100, a stream of databits of a binary information signal 101 is converted into a stream of databits of a constrained binary channel signal 103. The encoding device 100 comprises a converter 102 for converting the n-bit information words to m₁-bit channel words and for converting the n-bit information words to m₂-bit channel words, according to the coding method, for example according to the code table of the main code C₁ (shown in FIG. 4) and the dual code C₂. The encoding device 100 further comprises state-establishing means 104 for establishing a coding state of the m₁-bit channel words and of the m₂-bit channel words. Using this coding state the converter 102 can convert the next n-bit information word. In order to be able to influence predetermined properties of the binary channel, the converter 102 comprises substitution means for possibly substituting a limited number of channel words with substitute channel words or patterns.

[0060]FIG. 8 shows, by way of example, a record carrier 110 on which a signal comprising a stream of databits of a constrained binary channel signal, obtained after carrying out a method according to the invention is recorded in a track. FIG. 9 shows an enlarged portion of the record carrier of FIG. 8. The record carrier shown is one of an optically detectable type. The record carrier may also be of a different type, for example, of a magnetically readable type. The record carrier comprises information patterns arranged in tracks 111. FIG. 9 shows an enlarged portion 112 of one of the tracks 111. The information pattern in the track portion 112 shown in FIG. 9 comprises first sections 113, for example, in the form of optically detectable marks and second sections 114, for example, intermediate areas lying between the marks. The first and second sections alternate in a direction of the track 115. The first sections 113 present first detectable properties and the second sections 114 present second properties which are distinguishable from the first detectable properties, The first sections 113 represents bit cells 116 of the modulated binary signal S having one signal level, for example the low signal level L. The second sections 114 represent bit cells 117 having the other signal level, for example the high signal level H. The record carrier 110 may be obtained by first generating the modulated binary channel signal and then providing the record carrier with the information pattern. If the record carrier is an optically detectable type, the record carrier can then be obtained with mastering and replica techniques known to a person skilled in the art.

[0061]FIG. 10 shows a device for decoding. In this decoding device 132, a stream of databits of a constrained binary channel signal 131 is converted into a stream of databits of a binary information signal 134. The decoding device 132 comprises a converter for converting the constrained binary channel signal 131 into the stream of databits of a binary information signal. Decoding can, for example, be accomplished by using a hashing-technique as described in and with reference to FIG. 5. When decoding the binary channel signal 131, information about the next channel word to be decoded is needed, as is explained in and with reference to FIG. 5. This information 133 is supplied to the decoding device 132 before decoding the present channel word.

[0062]FIG. 11 shows a recording device for recording information. The Figure shows a recording device for recording information, in which a device for encoding is used, for example the device for encoding 100 shown in FIG. 7. The signal line 141 delivers the information words to be encoded to the device for encoding 100. In the recording device the signal line 142 for delivering the modulated binary channel signal is connected to a control circuit 143 for a write head 144 along which a record carrier 145 of a writable type is moved. The write head 144 is of a customary type capable of introducing marks having detectable changes on the record carrier 145. The control circuit 143 may also be of a customary type generating a control signal for the write head in response to the modulated signal applied to the control circuit 143, so that the write head 144 introduces a pattern of marks that corresponds to the modulated signal.

[0063]FIG. 12 shows a reading device for reading out a record carrier. This Figure shows a reading device in which a device for decoding is used, for example the decoding device 132 shown in FIG. 10. The reading device comprises a read head 152 of a customary type for reading out a record carrier 151 according to the invention which record carrier 151 carries an information pattern that corresponds to the modulated binary channel signal according to the invention. The read head 152 then produces an analogue read signal modulated according to the information pattern read out by the read head 152. Detection circuit 153 converts this read signal in customary fashion to a binary signal, which is applied to the decoding circuit 132.

[0064] Whilst the invention has been described with reference to preferred embodiments therefor, it is to be understood that these are not limitative examples. Thus, various modifications may become apparent to those skilled in the art, without departing from the scope of the invention, as defined by the claims.

[0065] For example the scope of the invention is not limited to a binary code. Without deviating from the gist of the invention, the substitutions according to the invention can be applied to multi-level codes, ternary codes or other M-ary codes. The number of different m₂-bit channel words for each n-bit information word must at least be two and in an advantageous situation, this number is equal to the number of values of the multivalued “parity”-parameter, while the “parities” of the channel words must at least cover all the different values at least once. In the case of a ternary code (with values −1, 0 and 1) at least three different m₂-bit channel words with “parities” −1, 0 and 1 must be present in the certain channel code C₂ (with the same next-state).

[0066] Furthermore, the invention resides in each and every novel characteristic feature or each and every combination of characteristic features. 

1. A method of converting a stream of databits of a binary information signal into a stream of databits of a constrained binary channel signal, wherein the stream of databits of the binary information signal is divided into n-bit information words (1), said information words being converted into m₁-bit channel words (2) in accordance with a channel code C₁, or m₂-bit channel words (3) in accordance with a channel code C₂, where m₁, m₂ and n are integers for which it holds that m₂>m₁>n, wherein the m₂-bit channel word is chosen from at least two m₂-bit channel words at least two of which have opposite parities, the concatenated m₁-bit channel words and the m₂-bit channel words complying with a runlength constraint of the binary channel signal, the method comprising the repetitive and/or alternate steps of: selecting the m₁-bit channel word from a set out of a plurality of sets of m₁-bit channel words, each set comprising only m₁-bit channel words having a begining part out of a subset of beginning parts of the m₁-bit channel words, each set being associated with a coding state of channel code C₁, the coding state being established in dependence upon an end part of the preceding channel word, or: selecting the m₂-bit channel word from a set out of a plurality of sets of m₂-bit channel words, each set comprising only m₂-bit channel words having a beginning part out of a subset of beginning parts of the m₂-bit channel words belonging to said set, each set being associated with a coding state of channel code C₂, the coding state being established in dependence upon an end part of the preceding channel word, the end parts of the m₁-bit channel words in a coding state of channel code C₁ and the beginning parts of the m₂-bit channel words in a set of channel code C₂ being arranged to comply with said runlength constraint, wherein the method further comprises the step of substituting, in dependence upon a value of a predetermined property of the binary channel signal, a channel word for a substitute channel word so as to influence the value of the predetermined property of the binary channel signal, wherein the substituted channel word and the substitute channel word establish the same state.
 2. A method as claimed in claim 1 , wherein the step of substituting a channel word for a substitute channel word comprises different types of substitutions.
 3. A method as claimed in claim 2 , wherein maximally one type of substitution occurs for each information word.
 4. A method as claimed in claim 1 , 2 or 3, wherein the substitute channel word does not belong to the sets of channel words of channel codes C₁ or C₂.
 5. A method as claimed in claim 1 , 2 , 3 or 4, wherein the substitute channel word is omitted from the sets of channel words of channel codes C₁ or C₂ in view of a constraint on the number of successive xT runlengths in the binary channel signal.
 6. A method as claimed in claim 5 , wherein x=3.
 7. A method as claimed in claim 5 , wherein the number of successive xT runlengths is
 6. 8. A method as claimed in claim 1 , 2 , 3, 4, 5, 6 or 7, wherein the substitute channel word is chosen from one set out of a plurality of sets of channel words, the set being associated with a coding state different from the coding state the substituted channel word was in.
 9. A device for encoding (100) a stream of databits of a binary information signal (101) into a stream of databits of a constrained binary channel signal (103), for performing one of the methods as claimed in any one of the preceding claims, the device comprising an n-to-m₁-bit converter (102) for converting the n-bit information words into m₁-bit channel words, an n-to-m₂-bit converter (102) for converting the n-bit information words into m₂-bit channel words, state-establishing means (104) for establishing a coding state of the m₁-bit channel words and of the m₂-bit channel words, said n-to-m₁ bit converter being further arranged to select the m₁-bit channel word depending on the end part of the preceding channel word, said n-to-m₂ bit converter being further arranged to select the m₂-bit channel word depending on the end part of the preceding channel word, wherein the n-to-m₁-bit converter and/or the n-to-m₂-bit converter comprise substitution means for substituting a limited number of channel words for substitute channel words so as to influence predetermined properties of the binary channel signal, the substituted channel word and the substitute channel word establishing the same state.
 10. A device for encoding as claimed in claim 9 , wherein the device further comprises writing means (143, 144) for writing an information pattern on a record carrier.
 11. A signal comprising a stream of databits of a constrained binary channel signal, obtained after carrying out one of the methods as claimed in any one of claims 1 to 8 .
 12. A record carrier (110) on which the signal as claimed in claim 11 is recorded in a track (111), in which information patterns represent the signal portions, which information patterns comprise first (113) and second (114) parts, alternating in the direction of the track, the first parts presenting detectable properties and the second parts presenting detectable properties distinguishable from the first properties, the parts having the first properties representing bit cells (116) having the first logic value and the parts having the second properties representing the bit cells (117) having the second logic value.
 13. A method of decoding a stream of databits of a constrained binary channel signal into a stream of databits of a binary information signal, the method comprising the step of converting the signal as claimed in claim 11 into a bit string of bits having a first or a second value, the signal comprising the m₁-bit channel words and the m₂-bit channel words, the bit string comprising the n-bit information words, wherein one n-bit information word is assigned to one channel word or to one substitute channel word.
 14. A device for decoding (132) a stream of databits of a constrained binary channel signal (131) into a stream of databits of a binary information signal (134), the device comprising converting means for converting the signal into a bit string of bits having a first or a second value, the signal comprising the m₁-bit channel words and the m₂-bit channel words, the bit string comprising the n-bit information words, wherein one n-bit information word is assigned to one channel word or to one substitute channel word.
 15. A device for decoding as claimed in claim 14 , wherein the device further comprises reading means (152) for reading out an information pattern from a record carrier. 